ICT Structure Levels (ST/IT/LT) - v7 (by Jonas E)ICT Structure Levels (ST/IT/LT) – Neighbor-Wick Pivots
This indicator is designed for traders following ICT-style market structure analysis. It identifies Short-Term (ST), Intermediary (IT), and Long-Term (LT) swing highs and lows, but with a stricter filter that reduces false signals.
Unlike standard pivot indicators, this script requires not only that a bar makes a structural high/low, but also that the neighboring bars’ extremes are formed by wicks rather than flat-bodied candles. This wick condition helps confirm that the level is a true liquidity sweep and not just random price action.
How it works (conceptual):
Detects pivots based on user-defined left/right bars.
Validates that extremes on both sides of the pivot are wick-driven (high > body for highs, low < body for lows).
Marks valid STH/STL, ITH/ITL, and LTH/LTL directly on the chart with optional price labels.
Uses ATR offset for better label readability.
Alerts can be enabled to notify when a new structural level is confirmed.
How to use it:
Map market structure across multiple layers (ST/IT/LT).
Identify true liquidity grabs and avoid false highs/lows.
Integrate with Break of Structure (BOS) and Change of Character (CHoCH) strategies.
Combine with other ICT concepts (Order Blocks, Fair Value Gaps, Liquidity Pools).
What makes it unique:
Most pivot indicators mark every high/low indiscriminately. This script filters pivots using wick validation, which significantly reduces noise and focuses only on the levels most relevant to liquidity-based trading strategies.
Pesquisar nos scripts por "high low"
Screener based on Profitunity strategy for multiple timeframes
Screener based on Profitunity strategy by Bill Williams for multiple timeframes (max 5, including chart timeframe) and customizable symbol list. The screener analyzes the Alligator and Awesome Oscillator indicators, Divergent bars and high volume bars.
The maximum allowed number of requests (symbols and timeframes) is limited to 40 requests, for example, for 10 symbols by 4 requests of different timeframes. Therefore, the indicator automatically limits the number of displayed symbols depending on the number of timeframes for each symbol, if there are more symbols than are displayed in the screener table, then the ordinal numbers are displayed to the left of the symbols, in this case you can display the next group of symbols by increasing the value by 1 in the "Show tickers from" field, if the "Group" field is enabled, or specify the symbol number by 1 more than the last symbol in the screener table. 👀 When timeframe filtering is applied, the screener table displays only the columns of those timeframes for which the filtering value is selected, which allows displaying more symbols.
For each timeframe, in the "TIMEFRAMES > Prev" field, you can enable the display of data for the previous bar relative to the last (current) one, if the market is open for the requested symbol. In the "TIMEFRAMES > Y" field, you can enable filtering depending on the location of the last five bars relative to the Alligator indicator lines, which are designated by special symbols in the screener table:
⬆️ — if the Alligator is open upwards (Lips > Teeth > Jaw) and none of the bars is closed below the Lips line;
↗️ — if one of the bars, except for the penultimate one, is closed below Lips, or two bars, except for the last one, are closed below Lips, or the Alligator is open upwards only below four bars, but none of the bars is closed below Lips;
⬇️ — if the Alligator is open downwards (Lips < Teeth < Jaw), but none of the bars is closed above Lips;
↘️ — if one of the bars, except the penultimate one, is closed above the Lips, or two bars, except the last one, are closed above the Lips, or the Alligator is open down only above four bars, but none of the bars are closed above the Lips;
➡️ — in other cases, including when the Alligator lines intersect and one of the bars is closed behind the Lips line or two bars intersect one of the Alligator lines.
In the "TIMEFRAMES > Show bar change value for TF" field, you can add a column to the right of the selected timeframe column with the percentage change between the closing price of the last bar (current) and the closing price of the previous bar ((close – previous close) / previous close * 100). Depending on the percentage value, the background color of the screener table cell will change: dark red if <= -3%; red if <= -2%, light red if <= -0.5%; dark green if >= 3%; green if >= 2%; light green if >= 0.5%.
For each timeframe, the screener table displays the symbol of the latest (current) bar, depending on the closing price relative to the bar's midpoint ((high + low) / 2) and its location relative to the Alligator indicator lines: ⎾ — the bar's closing price is above its midpoint; ⎿ — the bar's closing price is below its midpoint; ├ — the bar's closing price is equal to its midpoint; 🟢 — Bullish Divergent bar, i.e. the bar's closing price is above its midpoint, the bar's high is below all Alligator lines, the bar's low is below the previous bar's low; 🔴 — Bearish Divergent bar, i.e. the bar's closing price is below its midpoint, the bar's low is above all Alligator lines, the bar's high is above the previous bar's high. When filtering is enabled in the "TIMEFRAMES > Filtering by Divergent bar" field, the data in the screener table cells will be displayed only for those timeframes that have a Divergent bar. A high bar volume signal is also displayed — 📶/📶² if the bar volume is greater than 40%/70% of the average volume value calculated using a simple moving average (SMA) in the 140 bar interval from the last bar.
In the indicator settings in the "SYMBOL LIST" field, each ticker (for example: OANDA:SPX500USD) must be on a separate line. If the market is closed, then the data for requested symbols will be limited to the time of the last (current) bar on the chart, for example, if the current symbol was traded yesterday, and the requested symbol is traded today, when requesting data for an hourly timeframe, the last bar will be for yesterday, if the timeframe of the current chart is not higher than 1 day. Therefore, by default, a warning will be displayed on the chart instead of the screener table that if the market is open, you must wait for the screener to load (after the first price change on the current chart), or if the highest timeframe in the screener is 1 day, you will be prompted to change the timeframe on the current chart to 1 week, if the screener requests data for the timeframe of 1 week, you will be prompted to change the timeframe on the current chart to 1 month, or switch to another symbol on the current chart for which the market is open (for example: BINANCE:BTCUSDT), or disable the warning in the field "SYMBOL LIST > Do not display screener if market is close".
The number of the last columns with the color of the AO indicator that will be displayed in the screener table for each timeframe is specified in the indicator settings in the "AWESOME OSCILLATOR > Number of columns" field.
For each timeframe, the direction of the trend between the price of the highest and lowest bars in the specified range of bars from the last bar is displayed — ↑ if the trend is up (the highest bar is to the right of the lowest), or ↓ if the trend is down (the lowest bar is to the right of the highest). If there is a divergence on the AO indicator in the specified interval, the symbol ∇ is also displayed. The average volume value is also calculated in the specified interval using a simple moving average (SMA). The number of bars is set in the indicator settings in the "INTERVAL FOR HIGHEST AND LOWEST BARS > Bars count" field.
In the indicator settings in the "STYLE" field you can change the position of the screener table relative to the chart window, the background color, the color and size of the text.
***
Скринер на основе стратегии Profitunity Билла Вильямса для нескольких таймфреймов (максимум 5, включая таймфрейм графика) и настраиваемого списка символов. Скринер анализирует индикаторы Alligator и Awesome Oscillator, Дивергентные бары и бары с высоким объемом.
Максимально допустимое количество запросов (символы и таймфреймы) ограничено 40 запросами, например, для 10 символов по 4 запроса разных таймфреймов. Поэтому в индикаторе автоматически ограничивается количество отображаемых символов в зависимости от количества таймфреймов для каждого символа, если символов больше чем отображено в таблице скринера, то слева от символов отображаются порядковые номера, в таком случае можно отобразить следующую группу символов, увеличив значение на 1 в настройках индикатора поле "Show tickers from", если включено поле "Group", или указать номер символа на 1 больше, чем последний символ в таблице скринера. 👀 Когда применяется фильтрация по таймфрейму, в таблице скринера отображаются только столбцы тех таймфреймов, для которых выбрано значение фильтрации, что позволяет отображать большее количество символов.
Для каждого таймфрейма в настройках индикатора в поле "TIMEFRAMES > Prev" можно включить отображение данных для предыдущего бара относительно последнего (текущего), если для запрашиваемого символа рынок открыт. В поле "TIMEFRAMES > Y" можно включить фильтрацию, в зависимости от расположения последних пяти баров относительно линий индикатора Alligator, которые обозначаются специальными символами в таблице скринера:
⬆️ — если Alligator открыт вверх (Lips > Teeth > Jaw) и ни один из баров не закрыт ниже линии Lips;
↗️ — если один из баров, кроме предпоследнего, закрыт ниже Lips, или два бара, кроме последнего, закрыты ниже Lips, или Alligator открыт вверх только ниже четырех баров, но ни один из баров не закрыт ниже Lips;
⬇️ — если Alligator открыт вниз (Lips < Teeth < Jaw), но ни один из баров не закрыт выше Lips;
↘️ — если один из баров, кроме предпоследнего, закрыт выше Lips, или два бара, кроме последнего, закрыты выше Lips, или Alligator открыт вниз только выше четырех баров, но ни один из баров не закрыт выше Lips;
➡️ — в остальных случаях, в то числе когда линии Alligator пересекаются и один из баров закрыт за линией Lips или два бара пересекают одну из линий Alligator.
В поле "TIMEFRAMES > Show bar change value for TF" можно добавить справа от выбранного столбца таймфрейма столбец с процентным изменением между ценой закрытия последнего бара (текущего) и ценой закрытия предыдущего бара ((close – previous close) / previous close * 100). В зависимости от величины процента будет меняться цвет фона ячейки таблицы скринера: темно-красный, если <= -3%; красный, если <= -2%, светло-красный, если <= -0.5%; темно-зеленый, если >= 3%; зеленый, если >= 2%; светло-зеленый, если >= 0.5%.
Для каждого таймфрейма в таблице скринера отображается символ последнего (текущего) бара, в зависимости от цены закрытия относительно середины бара ((high + low) / 2) и расположения относительно линий индикатора Alligator: ⎾ — цена закрытия бара выше его середины; ⎿ — цена закрытия бара ниже его середины; ├ — цена закрытия бара равна его середине; 🟢 — Бычий Дивергентный бар, т.е. цена закрытия бара выше его середины, максимум бара ниже всех линий Alligator, минимум бара ниже минимума предыдущего бара; 🔴 — Медвежий Дивергентный бар, т.е. цена закрытия бара ниже его середины, минимум бара выше всех линий Alligator, максимум бара выше максимума предыдущего бара. При включении фильтрации в поле "TIMEFRAMES > Filtering by Divergent bar" данные в ячейках таблицы скринера будут отображаться только для тех таймфреймов, где есть Дивергентный бар. Также отображается сигнал высокого объема бара — 📶/📶², если объем бара больше чем на 40%/70% среднего значения объема, рассчитанного с помощью простой скользящей средней (SMA) в интервале 140 баров от последнего бара.
В настройках индикатора в поле "SYMBOL LIST" каждый тикер (например: OANDA:SPX500USD) должен быть на отдельной строке. Если рынок закрыт, то данные для запрашиваемых символов будут ограничены временем последнего (текущего) бара на графике, например, если текущий символ торговался последний день вчера, а запрашиваемый символ торгуется сегодня, при запросе данных для часового таймфрейма, последний бар будет за вчерашний день, если таймфрейм текущего графика не выше 1 дня. Поэтому по умолчанию на графике будет отображаться предупреждение вместо таблицы скринера о том, что если рынок открыт, то необходимо дождаться загрузки скринера (после первого изменения цены на текущем графике), или если в скринере самый высокий таймфрейм 1 день, то будет предложено изменить на текущем графике таймфрейм на 1 неделю, если в скринере запрашиваются данные для таймфрейма 1 неделя, то будет предложено изменить на текущем графике таймфрейм на 1 месяц, или же переключиться на другой символ на текущем графике, для которого рынок открыт (например: BINANCE:BTCUSDT), или отключить предупреждение в поле "SYMBOL LIST > Do not display screener if market is close".
Количество последних столбцов с цветом индикатора AO, которые будут отображены в таблице скринера для каждого таймфрейма, указывается в настройках индикатора в поле "AWESOME OSCILLATOR > Number of columns".
Для каждого таймфрейма отображается направление тренда между ценой самого высокого и самого низкого баров в указанном интервале баров от последнего бара — ↑, если тренд направлен вверх (самый высокий бар справа от самого низкого), или ↓, если тренд направлен вниз (самый низкий бар справа от самого высокого). Если есть дивергенция на индикаторе AO в указанном интервале, то также отображается символ — ∇. В указанном интервале также рассчитывается среднее значение объема с помощью простой скользящей средней (SMA). Количество баров устанавливается в настройках индикатора в поле "INTERVAL FOR HIGHEST AND LOWEST BARS > Bars count".
В настройках индикатора в поле "STYLE" можно изменить положение таблицы скринера относительно окна графика, цвет фона, цвет и размер текста.
DTLLC Time & PriceDTLLC Time and Price with Signals
This indicator is built for traders who understand ICT concepts and want a structured, visual way to align time-based price action with key market levels. By combining customizable trading windows, breakout logic, and daily reference points, it helps you identify high-probability trade opportunities while filtering out market noise.
Key Features
1. Dual Custom Time Ranges (Kill Zones)
Set two independent time ranges per day (start/end hour and minute).
Each range identifies the highest high and lowest low within its window.
Built-in breakout detection generates buy/sell signals when price moves beyond these levels.
2. Volatility Filtering
Adjustable volatility threshold based on True Range relative to ATR.
Filters out low-quality signals during choppy, low-volatility conditions.
3. ATR-Based Stop Loss
Custom ATR length and stop-loss multiplier settings.
Automatically plots ATR-based stop levels for triggered trades.
4. Daily Key Levels
Plots Previous Day High, Previous Day Low, and Midnight Open continuously on the chart.
Useful for spotting breakout and reversal opportunities in line with ICT market structure concepts.
5. Liquidity & Engulfing Candle Highlights
Highlights potential liquidity grab zones (yellow candles) when significant highs/lows are set within your lookback period.
Detects bullish (green) and bearish (red) engulfing patterns for added confluence.
6. Visual & Signal Tools
Buy/Sell signals plotted directly on chart (separate colors for Range 1 and Range 2). Continuous plotting of reference levels to maintain market context throughout the session.
Example Use Case:
A common ICT-inspired reversal setup:
Wait for price to sweep the Previous Day’s High or Low during your chosen time range.
Look for a buy or sell signal with volatility confirmation.
Manage risk using the ATR-based stop-loss plot.
Disclaimer: This script is for educational purposes only and is not financial advice. Trade responsibly and always test strategies before applying them in live markets.
Dynamic Swing Anchored VWAP (Zeiierman)█ Overview
Dynamic Swing Anchored VWAP (Zeiierman) is a price–volume tool that anchors VWAP at fresh swing highs/lows and then adapts its responsiveness as conditions change. Instead of one static VWAP that drifts away over time, this indicator re-anchors at meaningful structure points (swings). It computes a decayed, volume-weighted average that can speed up in volatile markets and slow down during quiet periods.
Blending swing structure with an adaptive VWAP engine creates a fair-value path that stays aligned with current price behavior, making retests, pullbacks, and mean reversion opportunities easier to spot and trade.
█ How It Works
⚪ Swing Anchor Engine
The script scans for swing highs/lows using your Swing Period.
When market direction flips (new pivot confirmed), the indicator anchors a new VWAP at that pivot and starts tracking from there.
⚪ Adaptive VWAP Core
From each anchor , VWAP is computed using a decay model (recent price×volume matters more; older data matters less).
Adaptive Price Tracking lets you set the base responsiveness in “bars.” Lower = more reactive, higher = smoother.
Volatility Adjustment (ATR vs Avg ATR) can automatically speed up the VWAP during spikes and slow it during compression, so the line stays relevant to live conditions.
█ Why This Adaptive Approach Beats a Simple VWAP
Standard VWAP is cumulative from the anchor point. As time passes and volume accumulates, it often drifts far from current price, especially in prolonged trends or multi-session moves. That drift makes retests rare and unreliable.
Dynamic Swing Anchored VWAP solves this in two ways:
⚪ Event-Driven Anchoring (Swings):
By restarting at fresh swing highs/lows, the VWAP reference reflects today’s structure. You get frequent, meaningful retests because the anchor stays near the action.
⚪ Adaptive Responsiveness (Volatility-Aware):
Markets don’t move at one speed. When volatility expands, a fixed VWAP lags; when volatility contracts, it can overreact to noise. Here, the “tracking speed” can auto-adjust using ATR vs its average.
High Volatility → faster tracking: VWAP hugs price more tightly, preserving retest relevance.
Low Volatility → smoother tracking: VWAP filters chop and stays stable.
Result: A VWAP that follows price more accurately, creating plenty of credible retest opportunities and more trustworthy mean-reversion/continuation reads than a simple, ever-growing VWAP.
█ How to Use
⚪ S wing-Aware Fair Value
Use the VWAP as a dynamic fair-value guide that restarts at key structural pivots. Pullbacks to the VWAP after impulsive moves often provide retest entries.
⚪ Trend Trading
In trends, the adaptive VWAP will ride closer to price, offering continuation pullbacks.
█ Settings
Swing Period: Number of bars to confirm swing highs/lows. Larger = bigger, cleaner pivots (slower); smaller = more frequent pivots (noisier).
Adaptive Price Tracking: Sets the base reaction speed (in bars). Lower = faster, tighter to price; higher = smoother, slower.
Adapt APT by ATR ratio: When ON, the tracking speed auto-adjusts with market volatility (ATR vs its own average). High vol → faster; low vol → calmer.
Volatility Bias: Controls how strongly volatility affects the speed. >1 = stronger effect; <1 = lighter touch.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Clarix 5m Scalping Breakout StrategyPurpose
A 5-minute scalping breakout strategy designed to capture fast 3-5 pip moves, using premium/discount zone filters and market bias conditions.
How It Works
The script monitors price action in 5-minute intervals, forming a 15-minute high and low range by tracking the highs and lows of the first 3 consecutive 5-minute candles starting from a custom time. In the next 3 candles, it waits for a breakout above the 15m high or below the 15m low while confirming market bias using custom equilibrium zones.
Buy signals trigger when price breaks the 15m high while in a discount zone
Sell signals trigger when price breaks the 15m low while in a premium zone
The strategy simulates trades with fixed 3-5 pip take profit and stop loss values (configurable). All trades are recorded in a backtest table with live trade results and an automatically updated win rate.
Features
Designed exclusively for the 5-minute timeframe
Custom 15-minute high/low breakout logic
Premium, Discount, and Equilibrium zone display
Built-in backtest tracker with live trade results, statistics, and win rate
Customizable start time, take profit, and stop loss settings
Real-time alerts on breakout signals
Visual markers for trade entries and failed trades
Consistent win rate exceeding 90–95% on average when following market conditions
Usage Tips
Use strictly on 5-minute charts for accurate signal performance. Avoid during high-impact news releases.
Important: Once a trade is opened, manually set your take profit at +3 to +5 pips immediately to secure the move, as these quick scalps often hit the target within a single candle. This prevents missed exits during rapid price action.
MP MTF LiquidityMP MTF Liquidity
Multi-Timeframe Liquidity Levels – Automatic High/Low Tracking
This indicator automatically tracks and draws liquidity levels (recent highs and lows) from up to 6 custom timeframes directly on your chart. It’s designed for advanced traders who want to visualize important swing points and liquidity pools across multiple timeframes—ideal for Smart Money Concepts (SMC), ICT, and price action trading.
Key Features:
Multi-Timeframe Support:
Select up to 6 different timeframes (ex: 1H, 4H, Daily, Weekly, etc.), each with separate color and visibility controls.
Real Liquidity (No Repaint):
Levels are only drawn from fully closed bars on each timeframe—no lines from currently forming candles, ensuring accuracy and no forward-looking bias.
Automatic Detection:
Highs and lows are detected automatically. Levels that get swept (price breaks through) are converted to dashed lines for easy visual distinction.
Customizable:
Choose line colors for highs/lows and set the maximum number of active levels per timeframe to keep charts clean.
Extended Lines:
All levels are extended to the right, helping you see how current price interacts with past liquidity.
How It Works:
On every new bar of your chosen higher timeframe(s), the indicator records the high and low of the previous (just-closed) candle.
These levels are extended as rays until price sweeps (crosses) them.
When a level is swept, it is redrawn as a dashed line to highlight liquidity grabs or stop hunts.
No lines are drawn for the “live” bar—only confirmed, closed levels are displayed.
Who is this for?
SMC, ICT, and price action traders seeking high-confidence liquidity zones.
Intraday, swing, and multi-timeframe traders who want an automated, visual edge.
Anyone wanting to avoid repainting or “fake” levels from unfinished candles.
Tip:
Combine this indicator with your favorite order block, fair value gap (FVG), or market structure tools for even greater context and confluence.
Disclaimer:
No indicator guarantees profits. Always use with proper risk management and in conjunction with your trading plan.
Gann Octave 8 - Professional V 1.0Gann Octave 8 Indicator:
Core Concept: This indicator divides the price range between highest high and lowest low into 8 equal parts (octaves), creating support/resistance levels based on W.D. Gann's trading principles.
Key Components:
1. Price Range Calculation:
o Finds highest high and lowest low over a lookback period (default 50 bars)
o Divides this range into 8 equal segments (12.5% each)
2. 8 Octave Levels:
o 0% (Low Support) - Strongest support
o 12.5%, 25%, 37.5% - Minor levels
o 50% (CRITICAL) - Most important level
o 62.5%, 75%, 87.5% - Minor levels
o 100% (High Resistance) - Strongest resistance
3. Gann Angles: Projects trend lines from high/low points at various angles (1x1, 2x1, 1x2, etc.)
4. Visual Features:
o Color-coded levels
o Information table showing current position
o Background highlighting when near critical levels
o Trend analysis (bullish/bearish zones)
Trading Strategy
Entry Signals:
BULLISH TRADES:
• Price crosses above 50% level → Strong buy signal
• Price bounces from 25% or 37.5% levels → Support bounce
• Price in upper zone (above 50%) → Bullish bias
BEARISH TRADES:
• Price crosses below 50% level → Strong sell signal
• Price rejects at 75% or 87.5% levels → Resistance rejection
• Price in lower zone (below 50%) → Bearish bias
Key Trading Rules:
1. 50% Level is Critical: Most important for trend direction
2. Zone Trading:
o Above 50% = Bullish zone (look for longs)
o Below 50% = Bearish zone (look for shorts)
3. Strength Levels:
o Above 75% or below 25% = Strong moves
o Near 100% (high) or 0% (low) = Extreme levels
Risk Management:
• Stop Loss: Place below previous octave level
• Take Profit: Target next octave level
• Position Size: Reduce size near extreme levels (0%, 100%)
Example Trade:
If price breaks above 50% level:
• Entry: Long position
• Stop: Below 37.5% level
• Target: 75% level
• Risk: Monitor for rejection at resistance levels
The indicator works best in trending markets and helps identify high-probability reversal zones.
Works for both Stocks & Derivatives. Experiment with code and share your feedback in comments..
Dynamic VWAP: Fair Value & Divergence SuiteDynamic VWAP: Fair Value & Divergence Suite
Dynamic VWAP: Fair Value & Divergence Suite is a comprehensive tool for tracking contextual valuation, overextension, and potential reversal signals in trending markets. Unlike traditional VWAP that anchors to the start of a session or a fixed period, this indicator dynamically resets the VWAP anchor to the most recent swing low. This design allows you to monitor how far price has extended from the most recent significant low, helping identify zones of potential profit-taking or reversion.
Deviation bands (standard deviations above the anchored VWAP) provide a clear visual framework to assess whether price is in a fair value zone (±1σ), moderately extended (+2σ), or in zones of extreme extension (+3σ to +5σ). The indicator also highlights contextual divergence signals, including slope deceleration, weak-volume retests, and deviation failures—giving you actionable confluence around potential reversal points.
Because the anchor updates dynamically, this tool is particularly well suited for trend-following assets like BTC or stocks in sustained moves, where price rarely returns to deep negative deviation zones. For this reason, the indicator focuses on upside extension rather than symmetrical reversion to a long-term mean.
🎯 Key Features
✅ Dynamic Swing Low Anchoring
Continuously re-anchors VWAP to the most recent swing low based on your chosen lookback period.
Provides context for trend progression and overextension relative to structural lows.
✅ Standard Deviation Bands
Plots up to +5σ deviation bands to visualize levels of overextension.
Extended bands (+3σ to +5σ) can be toggled for simplicity.
✅ Conditional Zone Fills
Colored background fills show when price is inside each valuation zone.
Helps you immediately see if price is in fair value, moderately extended, or highly stretched territory.
✅ Divergence Detection
VWAP Slope Divergence: Flags when price makes a higher high but VWAP slope decelerates.
Low Volume Retest: Highlights weak re-tests of VWAP on low volume.
Deviation Failure: Identifies when price reverts back inside +1σ after closing beyond +3σ.
✅ Volume Fallback
If volume is unavailable, uses high-low range as a proxy.
✅ Highly Customizable
Adjust lookbacks, show/hide extended bands, toggle fills, and enable or disable divergences.
🛠️ How to Use
Identify Buy and Sell Zones
Price in the fair value band (±1σ) suggests equilibrium.
Reaching +2σ to +3σ signals increasing overextension and potential areas to take profits.
+4σ to +5σ zones can be used to watch for exhaustion or mean-reversion setups.
Monitor Divergence Signals
Use slope divergence and deviation failures to look for confluence with overextension.
Low volume retests can flag rallies lacking conviction.
Adapt Swing Lookback
30–50 bars: Faster re-anchoring for swing trading.
75–100 bars: More stable anchors for longer-term trends.
🧭 Best Practices
Combine the anchored VWAP with higher timeframe structure.
Confirm signals with other tools (momentum, volume profiles, or trend filters).
Use extended deviation zones as context, not as standalone signals.
⚠️ Disclaimer
This script is for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any security or asset. Always do your own research and consult a qualified financial professional before making any trading decisions. Past performance does not guarantee future results.
Liquidity Break Probability [PhenLabs]📊 Liquidity Break Probability
Version: PineScript™ v6
The Liquidity Break Probability indicator revolutionizes how traders approach liquidity levels by providing real-time probability calculations for level breaks. This advanced indicator combines sophisticated market analysis with machine learning inspired probability models to predict the likelihood of high/low breaks before they happen.
Unlike traditional liquidity indicators that simply draw lines, LBP analyzes market structure, volume profiles, momentum, volatility, and sentiment to generate dynamic break probabilities ranging from 5% to 95%. This gives traders unprecedented insight into which levels are most likely to hold or break, enabling more confident trading decisions.
🚀 Points of Innovation
Advanced 6-factor probability model weighing market structure, volatility, volume, momentum, patterns, and sentiment
Real-time probability updates that adjust as market conditions change
Intelligent trading style presets (Scalping, Day Trading, Swing Trading) with optimized parameters
Dynamic color-coded probability labels showing break likelihood percentages
Professional tiered input system - from quick setup to expert-level customization
Smart volume filtering that only highlights levels with significant institutional interest
🔧 Core Components
Market Structure Analysis: Evaluates trend alignment, level strength, and momentum buildup using EMA crossovers and price action
Volatility Engine: Incorporates ATR expansion, Bollinger Band positioning, and price distance calculations
Volume Profile System: Analyzes current volume strength, smart money proxies, and level creation volume ratios
Momentum Calculator: Combines RSI positioning, MACD strength, and momentum divergence detection
Pattern Recognition: Identifies reversal patterns (doji, hammer, engulfing) near key levels
Sentiment Analysis: Processes fear/greed indicators and market breadth measurements
🔥 Key Features
Dynamic Probability Labels: Real-time percentage displays showing break probability with color coding (red >70%, orange >50%, white <50%)
Trading Style Optimization: One-click presets automatically configure sensitivity and parameters for your trading timeframe
Professional Dashboard: Live market state monitoring with nearest level tracking and active level counts
Smart Alert System: Customizable proximity alerts and high-probability break notifications
Advanced Level Management: Intelligent line cleanup and historical analysis options
Volume-Validated Levels: Only displays levels backed by significant volume for institutional-grade analysis
🎨 Visualization
Recent Low Lines: Red lines marking validated support levels with probability percentages
Recent High Lines: Blue lines showing resistance zones with break likelihood indicators
Probability Labels: Color-coded percentage labels that update in real-time
Professional Dashboard: Customizable panel showing market state, active levels, and current price
Clean Display Modes: Toggle between active-only view for clean charts or historical view for analysis
📖 Usage Guidelines
Quick Setup
Trading Style Preset
Default: Day Trading
Options: Scalping, Day Trading, Swing Trading, Custom
Description: Automatically optimizes all parameters for your preferred trading timeframe and style
Show Break Probability %
Default: True
Description: Displays percentage labels next to each level showing break probability
Line Display
Default: Active Only
Options: Active Only, All Levels
Description: Choose between clean active-only view or comprehensive historical analysis
Level Detection Settings
Level Sensitivity
Default: 5
Range: 1-20
Description: Lower values show more levels (sensitive), higher values show fewer levels (selective)
Volume Filter Strength
Default: 2.0
Range: 0.5-5.0
Description: Controls minimum volume threshold for level validation
Advanced Probability Model
Market Trend Influence
Default: 25%
Range: 0-50%
Description: Weight given to overall market trend in probability calculations
Volume Influence
Default: 20%
Range: 0-50%
Description: Impact of volume analysis on break probability
✅ Best Use Cases
Identifying high-probability breakout setups before they occur
Determining optimal entry and exit points near key levels
Risk management through probability-based position sizing
Confluence trading when multiple high-probability levels align
Scalping opportunities at levels with low break probability
Swing trading setups using high-probability level breaks
⚠️ Limitations
Probability calculations are estimations based on historical patterns and current market conditions
High-probability setups do not guarantee successful trades - risk management is essential
Performance may vary significantly across different market conditions and asset classes
Requires understanding of support/resistance concepts and probability-based trading
Best used in conjunction with other analysis methods and proper risk management
💡 What Makes This Unique
Probability-Based Approach: First indicator to provide quantitative break probabilities rather than simple S/R lines
Multi-Factor Analysis: Combines 6 different market factors into a comprehensive probability model
Adaptive Intelligence: Probabilities update in real-time as market conditions change
Professional Interface: Tiered input system from beginner-friendly to expert-level customization
Institutional-Grade Filtering: Volume validation ensures only significant levels are displayed
🔬 How It Works
1. Level Detection:
Identifies pivot highs and lows using configurable sensitivity settings
Validates levels with volume analysis to ensure institutional significance
2. Probability Calculation:
Analyzes 6 key market factors: structure, volatility, volume, momentum, patterns, sentiment
Applies weighted scoring system based on user-defined factor importance
Generates probability score from 5% to 95% for each level
3. Real-Time Updates:
Continuously monitors price action and market conditions
Updates probability calculations as new data becomes available
Adjusts for level touches and changing market dynamics
💡 Note: This indicator works best on timeframes from 1-minute to 4-hour charts. For optimal results, combine with proper risk management and consider multiple timeframe analysis. The probability calculations are most accurate in trending markets with normal to high volatility conditions.
First Candle🕯️ First Candle Indicator (First 5-Minute Candle High/Low)
The First Candle indicator automatically marks the high and low of the first 5-minute candle of the U.S. trading session . These levels can act as key intraday support and resistance zones, often used in breakout, scalping, or opening-range trading strategies.
📌 Key Features:
Automatic detection of the first candle of the U.S. session based on the selected timeframe (default is 5 minutes).
Horizontal lines are plotted at the high and low of that candle, with fully customizable colors and thickness.
Labels show the exact level and timeframe used for the high and low.
Resets daily, removing previous session data at the start of a new session.
Displays a visual marker (blue triangle) when the first candle is detected.
Allows users to select different timeframes for defining the "first candle" (e.g., 1, 5, 15 minutes).
⚙️ Customizable Inputs:
Show First Candle Lines: toggle the display of high/low lines.
Timeframe for Marking: choose the timeframe to detect the first candle (e.g., 5 minutes).
High Line Color / Low Line Color: set the color of each level line.
Line Thickness: adjust the width of the lines (1 to 5 pixels).
🧠 Strategic Applications:
Identify breakout zones right after the market opens.
Define opening range for pullback or continuation setups.
Set clear reference levels for intraday trading decisions.
Support & Resistance External/Internal & BoS [sgbpulse]Market Structure Support & Resistance External/Internal & BoS
Overview: Smart & Fast Market Structure Analysis
The Market Structure "Support & Resistance External/Internal & BoS " indicator is designed to empower your technical analysis by automatically and precisely identifying significant support and resistance levels. It achieves this by pinpointing high and low Pivot Points, plus key Pre-Market High/Low levels.
Its unique strength lies in its dynamic adaptability to any timeframe and any asset you choose. This tool analyzes the relevant market structure for the current timeframe and asset, providing you with accurate and relevant levels in real-time. The indicator maintains a clean chart and swiftly displays all support, resistance, and Pre-Market levels for any asset, saving valuable analysis time and enabling you to get a clear and quick snapshot of the market.
How the Indicator Works
The indicator identifies and displays three critical types of key levels:
External Pivots: These are more significant pivot points, indicating important reversal points across a broader range of price movement, considering the current timeframe. The indicator draws dark green support lines (for low pivots) and dark red resistance lines (for high pivots) from these points.
Internal Pivots: These are shorter-term pivot points, signifying smaller corrections or reversals within the overall structure of the current timeframe. These lines provide additional areas of interest within the ranges of the External Pivots.
Pre-Market High/Low Levels: The indicator displays the High and Low reached during pre-market hours as distinct lines on the chart. Please note: These levels will only appear when the selected timeframe is lower than one day (e.g., 1-hour, 15-minute) and provided that the "Session extended trading hours" option is enabled in your TradingView chart settings. These levels are crucial for identifying potential opening ranges and critical support/resistance areas upon regular market open, especially for intraday trading.
Break of Structure (BoS) Identification
A key feature of this indicator is its ability to identify Break of Structure (BoS). When a support or resistance line is breached, the indicator changes the line's color to gray and displays a "Break of Structure" label, indicating a potential trend change or continuation:
External BoS: When an external support/resistance line is broken, a "BoS" label in red will appear. This is a strong signal for a potential shift in the primary market structure or a strong trend continuation.
Internal BoS: When an internal support/resistance line is broken, an "iBoS" label in green will appear. This indicates a break within the existing market structure, which can be used to confirm direction or identify shorter-term entry/exit opportunities.
Full Indicator Customization
The indicator provides maximum flexibility to suit any trading style and timeframe:
Number of Lines Displayed: You can choose how many support and resistance lines you want to see on your chart. The default is 15 lines, but you can increase or decrease this number according to your needs and desired level of detail.
External Pivot Settings: Define the number of bars before and after a pivot point required for External Pivot identification.
Internal Pivot Settings: Define the number of bars before and after a pivot point required for Internal Pivot identification.
Color Customization: Full control over colors! You can change the colors of the support and resistance lines, the colors of the Pre-Market levels, and also the colors of the BoS and iBoS labels to create a visual appearance that perfectly matches your personal preferences.
This flexibility allows you to adapt the indicator to your trading style and any timeframe you operate in, without needing to manually change settings each time.
Recommended Uses
Clean Chart & Quick Analysis: The indicator displays important levels clearly, enabling quick identification of areas of interest without visual clutter on the chart. This significantly saves analysis time and allows you to make faster decisions.
Critical Levels for Any Timeframe & Asset: Get precise and adaptive support and resistance, plus essential Pre-Market levels (in relevant timeframes), for any timeframe and on any asset you choose.
Trend Direction Identification: Clear support and resistance lines help understand market structure.
Breakout Confirmation: The BoS label provides visual confirmation of key level breaches, helping to confirm potential trend changes.
Locating Entry & Exit Points: Use these levels as potential areas of interest for trades, after confirming a breakout or reversal.
Finding Stop-Loss & Take-Profit Points: Strategically place protective stops and profit targets around these support and resistance levels.
Important Note
Like any technical indicator, Market Structure "Support & Resistance External/Internal & BoS " is a supplementary tool. It's highly recommended to use it in conjunction with additional analysis methods (such as price action analysis, other indicators, and fundamental analysis) for informed trading decisions. Financial markets are dynamic, and trading always carries inherent risk.
IU Pivot Zones + GMADESCRIPTION:
IU Pivot Zones + GMA is a smart price-action-based indicator that detects meaningful support and resistance zones formed through pivot highs/lows while combining them with dynamic zone generation and Geometric Moving Averages (GMA). This tool is built to help traders visualize institutional breakout/rejection zones with clear, logical mapping and live box management — helping you stay ahead of the move.
The indicator is designed for intraday, swing, and positional traders who want to enhance their trading decisions with visual confluence zones and market structure logic.
USER INPUTS
* Pivot point Lengths: Number of bars used to detect pivot highs/lows
* Zone length: Controls the thickness of the support/resistance zone; higher values create wider zones
* GMA Length: Period for calculating the geometric moving averages based on highs and lows
* Allow Bar/candle Color: Enables or disables special candle coloring when price interacts with the zones
LOGIC OF THE INDICATOR:
* Detects pivot highs and pivot lows using the user-defined length
* Compares consecutive pivot levels to determine if they fall within a valid ATR-based price band to form a zone
* If confirmed, the indicator dynamically plots a resistance or support box between those pivot points, colored respectively (red for resistance, green for support)
* The boxes update in real-time based on price action. If price respects the zone, the box extends forward. If price breaks the zone, the box disappears
* Geometric Moving Averages (GMA) based on logarithmic mean of highs and lows are plotted to offer a trend bias
* Candles that touch the top of the support zone are colored yellow, and those touching the bottom of the resistance zone are orange, enhancing zone reaction visibility
WHY IT IS UNIQUE:
* Uses logarithmic-based GMAs, which are smoother and less reactive than traditional moving averages
* ATR-based zone logic makes it adaptive to volatility instead of using fixed-width zones
* Combines structural levels (pivots), volatility filters (ATR), and trend overlays (GMA) in one unified tool
* Real-time zone extension and disappearance logic based on price interaction
HOW USER CAN BENEFIT FROM IT:
* Spot high-probability breakout or reversal zones that price respects consistently
* Use the GMA cloud for trend confirmation — for example, bullish bias when price is above both GMAs
* Build price action strategies around zone touches, breakouts, or rejections
* Use color-coded candles as real-time alerts for potential entry/exit signals near S/R levels
* Save time by avoiding manual marking of zones on charts across timeframes
DISCLAIMER:
This indicator is created for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any asset. All trading involves risk, and users should conduct their own analysis or consult with a qualified financial advisor before making any trading decisions. The creator is not responsible for any losses incurred through the use of this tool. Use at your own discretion.
Demand Index (Hybrid Sibbet) by TradeQUODemand Index (Hybrid Sibbet) by TradeQUO \
\Overview\
The Demand Index (DI) was introduced by James Sibbet in the early 1990s to gauge “real” buying versus selling pressure by combining price‐change information with volume intensity. Unlike pure price‐based oscillators (e.g. RSI or MACD), the DI highlights moves backed by above‐average volume—helping traders distinguish genuine demand/supply from false breakouts or low‐liquidity noise.
\Calculation\
\
\ \Step 1: Weighted Price (P)\
For each bar t, compute a weighted price:
```
Pₜ = Hₜ + Lₜ + 2·Cₜ
```
where Hₜ=High, Lₜ=Low, Cₜ=Close of bar t.
Also compute Pₜ₋₁ for the prior bar.
\ \Step 2: Raw Range (R)\
Calculate the two‐bar range:
```
Rₜ = max(Hₜ, Hₜ₋₁) – min(Lₜ, Lₜ₋₁)
```
This Rₜ is used indirectly in the exponential dampener below.
\ \Step 3: Normalize Volume (VolNorm)\
Compute an EMA of volume over n₁ bars (e.g. n₁=13):
```
EMA_Volₜ = EMA(Volume, n₁)ₜ
```
Then
```
VolNormₜ = Volumeₜ / EMA_Volₜ
```
If EMA\_Volₜ ≈ 0, set VolNormₜ to a small default (e.g. 0.0001) to avoid division‐by‐zero.
\ \Step 4: BuyPower vs. SellPower\
Calculate “raw” BuyPowerₜ and SellPowerₜ depending on whether Pₜ > Pₜ₋₁ (bullish) or Pₜ < Pₜ₋₁ (bearish). Use an exponential dampener factor Dₜ to moderate extreme moves when true range is small. Specifically:
• If Pₜ > Pₜ₋₁,
```
BuyPowerₜ = (VolNormₜ) / exp
```
otherwise
```
BuyPowerₜ = VolNormₜ.
```
• If Pₜ < Pₜ₋₁,
```
SellPowerₜ = (VolNormₜ) / exp
```
otherwise
```
SellPowerₜ = VolNormₜ.
```
Here, H₀ and L₀ are the very first bar’s High/Low—used to calibrate the scale of the dampening. If the denominator of the exponential is near zero, substitute a small epsilon (e.g. 1e-10).
\ \Step 5: Smooth Buy/Sell Power\
Apply a short EMA (n₂ bars, typically n₂=2) to each:
```
EMA_Buyₜ = EMA(BuyPower, n₂)ₜ
EMA_Sellₜ = EMA(SellPower, n₂)ₜ
```
\ \Step 6: Raw Demand Index (DI\_raw)\
```
DI_rawₜ = EMA_Buyₜ – EMA_Sellₜ
```
A positive DI\_raw indicates that buying force (normalized by volume) exceeds selling force; a negative value indicates the opposite.
\ \Step 7: Optional EMA Smoothing on DI (DI)\
To reduce choppiness, compute an EMA over DI\_raw (n₃ bars, e.g. n₃ = 1–5):
```
DIₜ = EMA(DI_raw, n₃)ₜ.
```
If n₃ = 1, DI = DI\_raw (no further smoothing).
\
\Interpretation\
\
\ \Crossing Zero Line\
• DI\_raw (or DI) crossing from below to above zero signals that cumulative buying pressure (over the chosen smoothing window) has overcome selling pressure—potential Long signal.
• Crossing from above to below zero signals dominant selling pressure—potential Short signal.
\ \DI\_raw vs. DI (EMA)\
• When DI\_raw > DI (the EMA of DI\_raw), bullish momentum is accelerating.
• When DI\_raw < DI, bullish momentum is weakening (or bearish acceleration).
\ \Divergences\
• If price makes new highs while DI fails to make higher highs (DI\_raw or DI declining), this hints at weakening buying power (“bearish divergence”), possibly preceding a reversal.
• If price makes new lows while DI fails to make lower lows (“bullish divergence”), this may signal waning selling pressure and a potential bounce.
\ \Volume Confirmation\
• A strong price move without a corresponding rise in DI often indicates low‐volume “fake” moves.
• Conversely, a modest price move with a large DI spike suggests true institutional participation—often a more reliable breakout.
\
\Usage Notes & Warnings\
\
\ \Never Use DI in Isolation\
It is a \filter\ and \confirmation\ tool—combine with price‐action (trendlines, support/resistance, candlestick patterns) and risk management (stop‐losses) before executing trades.
\ \Parameter Selection\
• \Vol EMA length (n₁)\: Commonly 13–20 bars. Shorter → more responsive to volume spikes, but noisier.
• \Buy/Sell EMA length (n₂)\: Typically 2 bars for fast smoothing.
• \DI smoothing (n₃)\: Usually 1 (no smoothing) or 3–5 for moderate smoothing. Long DI\_EMA (e.g. 20–50) gives a slower signal.
\ \Market Adaptation\
Works well in liquid futures, indices, and heavily traded stocks. In thinly traded or highly erratic markets, adjust n₁ upward (e.g., 20–30) to reduce noise.
---
\In Summary\
The Demand Index (James Sibbet) uses a three‐stage smoothing (volume → Buy/Sell Power → DI) to reveal true demand/supply imbalance. By combining normalized volume with price change, Sibbet’s DI helps traders identify momentum backed by real participation—filtering out “empty” moves and spotting early divergences. Always confirm DI signals with price action and sound risk controls before trading.
Weighted Regression Bands (Zeiierman)█ Overview
Weighted Regression Bands is a precision-engineered trend and volatility tool designed to adapt to the real market structure instead of reacting to price noise.
This indicator analyzes Weighted High/Low medians and applies user-selectable smoothing methods — including Kalman Filtering, ALMA, and custom Linear Regression — to generate a Fair Value line. Around this, it constructs dynamic standard deviation bands that adapt in real-time to market volatility.
The result is a visually clean and structurally intelligent trend framework suitable for breakout traders, mean reversion strategies, and trend-driven analysis.
█ How It Works
⚪ Structural High/Low Analysis
At the heart of this indicator is a custom high/low weighting system. Instead of using just the raw high or low values, it calculates a midline = (high + low) / 2, then applies one of three weighting methods to determine which price zones matter most.
Users can select the method using the “Weighted HL Method” setting:
Simple
Selects the single most dominant median (highest or lowest) in the lookback window. Ideal for fast, reactive signals.
Advanced
Ranks each bar based on a composite score: median × range × recency. This method highlights structurally meaningful bars that had both volatility and recency. A built-in Kalman filter is applied for extra stability.
Smooth
Blends multiple bars into a single weighted average using smoothed decay and range. This provides the softest and most stable structural response.
⚪ Smoothing Methods (ALMA / Linear Regression)
ALMA provides responsive, low-lag smoothing for fast trend reading.
Linear Regression projects the Fair Value forward, ideal for trend modeling.
⚪ Kalman Smoothing Filter
Before trend calculations, the indicator applies an optional Kalman-style smoothing filter. This helps:
Reduce choppy false shifts in trend,
Retain signal clarity during volatile periods,
Provide stability for long-term setups.
⚪ Deviation Bands (Dynamic Volatility Envelopes)
The indicator builds ±1, ±2, and ±3 standard deviation bands around the fair value line:
Calculated from the standard deviation of price,
Bands expand and contract based on recent volatility,
Visualizes potential overbought/oversold or trending conditions.
█ How to Use
⚪ Trend Trading & Filtering
Use the Fair Value line to identify the dominant direction.
Only trade in the direction of the slope for higher probability setups.
⚪ Volatility-Based Entries
Watch for price reaching outer bands (+2σ, +3σ) for possible exhaustion.
Mean reversion entries become higher quality when far from Fair Value.
█ Settings
Length – Lookback for Weighted HL and trend smoothing
Deviation Multiplier – Controls how wide the bands are from the fair value line
Method – Choose between ALMA or Linear Regression smoothing
Smoothing – Strength of Kalman Filter (1 = none, <1 = stronger smoothing)
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Liqudation HeatMap [BigBeluga]🔵 OVERVIEW
An advanced liquidity visualization tool that plots horizontal heat zones to highlight where potential liquidations and volume clusters are most likely hiding beneath price action.
Liqudation HeatMap scans historical price movements for local highs and lows with elevated volume or candle range. It then draws dynamic heatmap boxes—shaded from lime (low interest) to yellow (high interest)—revealing potential zones of trapped positions or stop clusters. A vertical scale on the right shows you the relative strength of volume behind each level, from 0 to the highest detected.
🔵 CONCEPTS
Maps areas of potential liquidity using volume or candle range (if volume is unavailable).
Identifies swing highs/lows (pivots) and extends heatmap boxes outward from these levels. Colors each zone based on the relative strength of volume concentration.
Fades or removes zones once price crosses their midpoints, simulating the idea of liquidity being “consumed.”
Displays a live vertical scale that shows the volume range for quick reference.
🔵 FEATURES
Dynamic Heatmap Zones:
Draws few boxes above and after pivot highs and below pivot lows, each shaded based on volume concentration.
Smart Coloring System:
Uses a gradient from lime (low) to yellow (high) to visually distinguish between weak and strong liquidity zones.
Adaptive ATR Widths:
Automatically adjusts zone thickness based on volatility (ATR), scaling intelligently across timeframes.
Liquidity Consumption Logic:
Zones are stope extending once price interacts with them—mimicking the behavior of real liquidation sweeps.
Volume Scale Legend:
A real-time scale is plotted on the right side, showing the min-max range of volume used for heat calculations.
🔵 HOW TO USE
Look for thick yellow zones to identify areas of concentrated stop losses or liquidation triggers.
Use these levels to anticipate mean reversion points or high-volatility zones.
Combine with your trend or structure tools to trade into or fade these liquidity pools.
On lower timeframes, use this tool to confirm entries around sweeps or deviations.
Use the right-side scale to compare relative zone strength instantly.
🔵 CONCLUSION
Liqudation HeatMap is a powerful visualization tool that uncovers where liquidity likely resides on the chart. By highlighting hidden traps and reactive levels in real-time, it gives traders a significant edge when it comes to spotting stop hunts, mean reversions, and areas of institutional interest. Whether you’re scalping or swing trading, this heatmap provides unmatched context on the market’s hidden intent.
Time-Based Fair Value Gaps (FVG) with Inversions (iFVG)Overview
The Time-Based Fair Value Gaps (FVG) with Inversions (iFVG) (ICT/SMT) indicator is a specialized tool designed for traders using Inner Circle Trader (ICT) methodologies. Inspired by LuxAlgo's Fair Value Gap indicator, this script introduces significant enhancements by integrating ICT principles, focusing on precise time-based FVG detection, inversion tracking, and retest signals tailored for institutional trading strategies. Unlike LuxAlgo’s general FVG approach, this indicator filters FVGs within customizable 10-minute windows aligned with ICT’s macro timeframes and incorporates ICT-specific concepts like mitigation, liquidity grabs, and session-based gap prioritization.
This tool is optimized for 1–5 minute charts, though probably best for 1 minute charts, identifying bullish and bearish FVGs, tracking their mitigation into inverted FVGs (iFVGs) as key support/resistance zones, and generating retest signals with customizable “Close” or “Wick” confirmation. Features like ATR-based filtering, optional FVG labels, mitigation removal, and session-specific FVG detection (e.g., first FVG in AM/PM sessions) make it a powerful tool for ICT traders.
Originality and Improvements
While inspired by LuxAlgo’s FVG indicator (credit to LuxAlgo for their foundational work), this script significantly extends the original concept by:
1. Time-Based FVG Detection: Unlike LuxAlgo’s continuous FVG identification, this script filters FVGs within user-defined 10-minute windows each hour (:00–:10, :10–:20, etc.), aligning with ICT’s emphasis on specific periods of institutional activity, such as hourly opens/closes or kill zones (e.g., New York 7:00–11:00 AM EST). This ensures FVGs are relevant to high-probability ICT setups.
2. Session-Specific First FVG Option: A unique feature allows traders to display only the first FVG in ICT-defined AM (9:30–10:00 AM EST) or PM (1:30–2:00 PM EST) sessions, reflecting ICT’s focus on initial market imbalances during key liquidity events.
3. ICT-Driven Mitigation and Inversion Logic: The script tracks FVG mitigation (when price closes through a gap) and converts mitigated FVGs into iFVGs, which serve as ICT-style support/resistance zones. This aligns with ICT’s view that mitigated gaps become critical reversal points, unlike LuxAlgo’s simpler gap display.
4. Customizable Retest Signals: Retest signals for iFVGs are configurable for “Close” (conservative, requiring candle body confirmation) or “Wick” (faster, using highs/lows), catering to ICT traders’ need for precise entry timing during liquidity grabs or Judas swings.
5. ATR Filtering and Mitigation Removal: An optional ATR filter ensures only significant FVGs are displayed, reducing noise, while mitigation removal declutters the chart by removing filled gaps, aligning with ICT’s principle that mitigated gaps lose relevance unless inverted.
6. Timezone and Timeframe Safeguards: A timezone offset setting aligns FVG detection with EST for ICT’s New York-centric strategies, and a timeframe warning alerts users to avoid ≥1-hour charts, ensuring accuracy in time-based filtering.
These enhancements make the script a distinct tool that builds on LuxAlgo’s foundation while offering ICT traders a tailored, high-precision solution.
How It Works
FVG Detection
FVGs are identified when a candle’s low is higher than the high of two candles prior (bullish FVG) or a candle’s high is lower than the low of two candles prior (bearish FVG). Detection is restricted to:
• User-selected 10-minute windows (e.g., :00–:10, :50–:60) to capture ICT-relevant periods like hourly transitions.
• AM/PM session first FVGs (if enabled), focusing on 9:30–10:00 AM or 1:30–2:00 PM EST for key market opens.
An optional ATR filter (default: 0.25× ATR) ensures only gaps larger than the threshold are displayed, prioritizing significant imbalances.
Mitigation and Inversion
When price closes through an FVG (e.g., below a bullish FVG’s bottom), the FVG is mitigated and becomes an iFVG, plotted as a support/resistance zone. iFVGs are critical in ICT for identifying reversal points where institutional orders accumulate.
Retest Signals
The script generates signals when price retests an iFVG:
• Close: Triggers when the candle body confirms the retest (conservative, lower noise).
• Wick: Triggers when the candle’s high/low touches the iFVG (faster, higher sensitivity). Signals are visualized with triangular markers (▲ for bullish, ▼ for bearish) and can trigger alerts.
Visualization
• FVGs: Displayed as colored boxes (green for bullish, red for bearish) with optional “Bull FVG”/“Bear FVG” labels.
• iFVGs: Shown as extended boxes with dashed midlines, limited to the user-defined number of recent zones (default: 5).
• Mitigation Removal: Mitigated FVGs/iFVGs are removed (if enabled) to keep the chart clean.
How to Use
Recommended Settings
• Timeframe: Use 1–5 minute charts for precision, avoiding ≥1-hour timeframes (a warning label appears if misconfigured).
• Time Windows: Enable :00–:10 and :50–:60 for hourly open/close FVGs, or use the “Show only 1st presented FVG” option for AM/PM session focus.
• ATR Filter: Keep enabled (multiplier 0.25–0.5) for significant gaps; disable on 1-minute charts for more FVGs during volatility.
• Signal Preference: Use “Close” for conservative entries, “Wick” for aggressive setups.
• Timezone Offset: Set to -5 for EST (or -4 for EDT) to align with ICT’s New York session.
Trading Strategy
1. Macro Timeframes: Focus on New York (7:00–11:00 AM EST) or London (2:00–5:00 AM EST) kill zones for high institutional activity.
2. FVG Entries: Trade bullish FVGs as support in uptrends or bearish FVGs as resistance in downtrends, especially in :00–:10 or :50–:60 windows.
3. iFVG Retests: Enter on retest signals (▲/▼) during liquidity grabs or Judas swings, using “Close” for confirmation or “Wick” for speed.
4. Session FVGs: Use the “Show only 1st presented FVG” option to target the first gap in AM/PM sessions, often tied to ICT’s market maker algorithms.
5. Risk Management: Combine with ICT concepts like order blocks or breaker blocks for confluence, and set stops beyond FVG/iFVG boundaries.
Alerts
Set alerts for:
• “Bullish FVG Detected”/“Bearish FVG Detected”: New FVGs in selected windows.
• “Bullish Signal”/“Bearish Signal”: iFVG retest confirmations.
Settings Description
• Show Last (1–100, default: 5): Number of recent iFVGs to display. Lower values reduce clutter.
• Show only 1st presented FVG : Limits FVGs to the first in 9:30–10:00 AM or 1:30–2:00 PM EST sessions (overrides time window checkboxes).
• Time Window Checkboxes: Enable/disable FVG detection in 10-minute windows (:00–:10, :10–:20, etc.). All enabled by default.
• Signal Preference: “Close” (default) or “Wick” for iFVG retest signals.
• Use ATR Filter: Enables ATR-based size filtering (default: true).
• ATR Multiplier (0–∞, default: 0.25): Sets FVG size threshold (higher values = larger gaps).
• Remove Mitigated FVGs: Removes filled FVGs/iFVGs (default: true).
• Show FVG Labels: Displays “Bull FVG”/“Bear FVG” labels (default: true).
• Timezone Offset (-12 to 12, default: -5): Aligns time windows with EST.
• Colors: Customize bullish (green), bearish (red), and midline (gray) colors.
Why Use This Indicator?
This indicator empowers ICT traders with a tool that goes beyond generic FVG detection, offering precise, time-filtered gaps and inversion tracking aligned with institutional trading principles. By focusing on ICT’s macro timeframes, session-specific imbalances, and customizable signal logic, it provides a clear edge for scalping, swing trading, or reversal setups in high-liquidity markets.
Chandelier Exit with ZLSMA SwiftEdgeChandelier Exit with ZLSMA
Overview
The "Chandelier Exit with ZLSMA" indicator is a powerful trading tool designed to identify trend reversals and high-probability entry points in financial markets. By combining the volatility-based Chandelier Exit with the low-lag Zero Lag Least Squares Moving Average (ZLSMA), this indicator provides clear Buy and Sell signals, enhanced with a unique signal strength score to help traders prioritize high-quality opportunities. Visual enhancements, including dynamic color coding, background highlights, and trend arrows, make it intuitive and visually appealing for both novice and experienced traders.
What It Does
This indicator generates Buy and Sell signals when a trend reversal is detected by the Chandelier Exit, but only if the price crosses the ZLSMA for the first time in the direction of the trend. Each signal is accompanied by a percentage score (0-100%) that measures its strength based on price movement and momentum. The indicator overlays directly on the price chart, displaying:
Buy/Sell labels with signal strength (e.g., "Buy (85%)").
A ZLSMA line that changes color (green for bullish, red for bearish) to indicate trend direction.
Background highlights to mark signal candles.
Trend arrows to visually confirm signal points.
How It Works
The indicator combines two complementary components:
Chandelier Exit:
Uses the Average True Range (ATR) to create dynamic trailing stop levels (long_stop and short_stop) that adapt to market volatility.
Signals a Buy when the price crosses above the short stop (indicating a potential uptrend) and a Sell when it crosses below the long stop (indicating a potential downtrend).
Default settings use an ATR period of 1 and a multiplier of 2.0 for high sensitivity to short-term price movements.
Zero Lag LSMA (ZLSMA):
A low-lag moving average based on linear regression, designed to reduce delay compared to traditional moving averages.
Acts as a trend filter: Buy signals are only generated when the price closes above ZLSMA for the first time, and Sell signals when it closes below for the first time.
Default length of 50 balances smoothness with responsiveness.
Signal Strength Score:
Each signal is assigned a score (0-100%) based on:
Distance to ZLSMA (60% weight): How far the price is from ZLSMA, normalized by ATR. Larger distances indicate stronger breakouts.
Candlestick size (40% weight): The size of the signal candle, normalized by ATR. Larger candles suggest stronger momentum.
A high score (e.g., >80%) indicates a robust signal, while a low score (e.g., <50%) suggests caution.
Visual Features:
The ZLSMA line changes color (green for bullish, red for bearish) to reflect the trend.
Signal candles are highlighted with a subtle green (Buy) or red (Sell) background.
Tiny triangular arrows appear below Buy signals and above Sell signals for clear visual confirmation.
Why Combine Chandelier Exit and ZLSMA?
The Chandelier Exit excels at identifying trend reversals through volatility-based stops, but it can generate false signals in choppy markets due to its sensitivity (especially with a short ATR period of 1). The ZLSMA addresses this by acting as a trend filter, ensuring signals are only triggered when the price confirms a trend by crossing the ZLSMA for the first time. This combination reduces noise and focuses on high-probability setups. The signal strength score further enhances decision-making by quantifying the conviction behind each signal, making the indicator feel intuitive and "smart."
How to Use
Setup:
Add the indicator to your chart in TradingView.
Adjust inputs in the settings panel:
ATR Period (default: 1): Controls the sensitivity of Chandelier Exit. Increase for smoother signals.
ATR Multiplier (default: 2.0): Sets the distance of stop levels from price extremes.
ZLSMA Length (default: 50): Adjusts the smoothness of the ZLSMA line. Shorter lengths (e.g., 20-30) are more responsive; longer lengths (e.g., 50-100) are smoother.
Use Close Price for Extremums (default: true): Determines whether Chandelier Exit uses closing prices or high/low prices for calculations.
Interpreting Signals:
Buy Signal: A green "Buy (X%)" label appears below a candle when the price crosses above the Chandelier Exit short stop and closes above ZLSMA for the first time. The percentage indicates signal strength (higher = stronger).
Sell Signal: A red "Sell (X%)" label appears above a candle when the price crosses below the Chandelier Exit long stop and closes below ZLSMA for the first time.
Use the ZLSMA line’s color (green for bullish, red for bearish) to confirm the overall trend.
Prioritize signals with high strength scores (e.g., >70%) for better reliability.
Trading Considerations:
Combine signals with other analysis (e.g., support/resistance, volume) for confirmation.
Test the indicator on a demo account or use TradingView’s Strategy Tester to evaluate performance.
Be cautious with the default ATR period of 1, as it is highly sensitive and may generate frequent signals in volatile markets.
What Makes It Unique
This indicator stands out due to its thoughtful integration of Chandelier Exit and ZLSMA, creating a synergy that balances sensitivity with reliability. The first-cross filter ensures signals are triggered only at the start of potential trends, reducing false positives. The signal strength score adds a layer of intelligence, helping traders assess the quality of each signal without needing external tools. Visual enhancements, such as dynamic ZLSMA coloring, background highlights, and trend arrows, make the indicator user-friendly and visually engaging, appealing to traders seeking a modern, intuitive tool.
Limitations and Notes
The short ATR period (1) makes the indicator highly sensitive, which suits short-term traders but may produce noise in sideways markets. Increase the ATR period for smoother signals.
The signal strength score is a heuristic based on price movement and momentum, not a predictive model. Use it as a guide, not a definitive predictor.
Always backtest the indicator on your preferred market and timeframe to ensure it aligns with your trading strategy.
Gold Opening 15-Min ORB INDICATOR by AdéThis indicator is designed for trading Gold (XAUUSD) during the first 15 minutes of major market openings: Asian, European, and US sessions. It highlights these key time windows, plots the high and low ranges of each session, and generates breakout-based buy/sell signals. Ideal for traders focusing on volatility at market opens.
Features:Session Windows:
Asian: 1:00–1:15 AM Barcelona time (23:00–23:15 UTC, CEST-adjusted).
European: 9:00–9:15 AM Barcelona time (07:00–07:15 UTC).
US: 3:30–3:45 PM Barcelona time (13:30–13:45 UTC).
Marked with yellow (Asian), green (Europe), and blue (US) triangles below bars.
High/Low Ranges:Plots horizontal lines showing the highest high and lowest low of each session’s first 15 minutes.Lines appear after each session ends and persist until the next day, color-coded to match the sessions.Breakout Signals:Buy (Long): Triggers when the closing price breaks above the highest high of the previous 5 bars during a session window (lime triangle above bar).Sell (Short): Triggers when the closing price breaks below the lowest low of the previous 5 bars during a session window (red triangle below bar).
Signals are restricted to the 15-minute session periods for focused trading.Usage:Timeframe: Optimized for 1-minute XAUUSD charts.Timezone: Set your chart to UTC for accurate session timing (script uses UTC internally, based on Barcelona CEST, UTC+2 in April).Strategy:
Use buy/sell signals for breakout trades during volatile market opens, with session ranges as support/resistance levels.Customization: Adjust the lookback variable (default: 5) to tweak signal sensitivity.Notes:Tested for April 2025 (CEST, UTC+2).
Adjust timestamp values if using outside daylight saving time (CET, UTC+1) or for different broker timezones.Best for scalping or short-term trades during high-volatility periods. Combine with other indicators for confirmation if desired.How to Use:Apply to a 1-minute XAUUSD chart.Watch for session markers (triangles) and breakout signals during the 15-minute windows.Use the high/low lines to gauge potential breakout targets or reversals.
PriorHourRangeLevels_v0.1PriorHourRangeLevels_v0.1
Created by dc_77 | © 2025 | Mozilla Public License 2.0
Overview
"PriorHourRangeLevels_v0.1" is a versatile Pine Script™ indicator designed to help traders visualize and analyze price levels based on the prior hour’s range. It overlays key levels—High, Low, 75%, 50% (EQ), and 25%—from the previous hour onto the current price chart, alongside the current hour’s opening price. With customizable display options and time zone support, it’s ideal for intraday traders looking to identify support, resistance, and breakout zones.
How It Works
Hourly Reset: The indicator detects the start of each hour based on your chosen time zone (e.g., "America/New_York" by default).
Prior Hour Range: It calculates the High and Low of the previous hour, then derives three additional levels:
75%: 75% of the range above the Low.
EQ (50%): The midpoint of the range.
25%: 25% of the range above the Low.
Current Hour Open: Displays the opening price of the current hour.
Projection: Lines extend forward (default: 24 bars) to project these levels into the future, aiding in real-time analysis.
Alerts: Triggers alerts when the price crosses any of the prior hour’s levels (High, 75%, EQ, 25%, Low).
Key Features
Time Zone Flexibility: Choose from options like UTC, New York, Tokyo, or London to align with your trading session.
Visual Customization:
Toggle visibility for each level (High, Low, 75%, EQ, 25%, Open, and Anchor).
Adjust line styles (Solid, Dashed, Dotted), colors, and widths.
Show or hide labels with adjustable sizes (Tiny, Small, Normal, Large).
Anchor Line: A vertical line marks the start of the prior hour, with optional labeling.
Alert Conditions: Set up notifications for price crossings to catch key moments without watching the chart.
Usage Tips
Use the High and Low as potential breakout levels, while 75%, EQ, and 25% act as intermediate support/resistance zones.
Trend Confirmation: Watch how price interacts with the EQ (50%) level to gauge momentum.
Session Planning: Adjust the time zone to match your market (e.g., "Europe/London" for FTSE trading).
Projection Offset: Extend or shorten the lines (via "Projection Offset") based on your chart timeframe.
Inputs
Time Zone: Select your preferred market time zone.
Anchor Settings: Show/hide the prior hour start line, style, color, width, and label.
Level Settings: Customize visibility, style, color, width, and labels for Open, High, 75%, EQ, 25%, and Low.
Display: Set projection length and label size.
ootaLibrary "oota"
Collection of all custom and enhanced TA indicators - Object oriented methods implementation
method tr(c, useTrueRange)
returns true range of the candle
Namespace types: Candle
Parameters:
c (Candle) : Candle object containing ohlc data
useTrueRange (bool) : Use true range for atr calculation instead of just high/low difference
method ma(maType, length, source)
returns custom moving averages
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
source (float) : Moving Average Source
Returns: moving average for the given type and length
method atr(maType, length, useTrueRange, c)
returns ATR with custom moving average
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
useTrueRange (bool) : Use true range for atr calculation instead of just high/low difference
c (Candle) : Candle object containing ohlc
Returns: ATR for the given moving average type and length
method atrpercent(maType, length, useTrueRange, c)
returns ATR as percentage of close price
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
useTrueRange (bool) : Use true range for atr calculation instead of just high/low difference
c (Candle) : Candle object containing ohlc
Returns: ATR as percentage of close price for the given moving average type and length
method bb(maType, length, multiplier, sticky, c)
returns Bollinger band for custom moving average
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
c (Candle) : Candle object containing ohlc
Returns: Bollinger band with custom moving average for given source, length and multiplier
method bbw(maType, length, multiplier, sticky, c)
returns Bollinger bandwidth for custom moving average
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
sticky (simple bool) : sticky boundaries which will only change when value is outside boundary.
c (Candle) : Candle object containing ohlc
Returns: Bollinger Bandwidth for custom moving average for given source, length and multiplier
method bpercentb(maType, length, multiplier, sticky, c)
returns Bollinger Percent B for custom moving average
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
c (Candle) : Candle object containing ohlc
Returns: Bollinger Percent B for custom moving average for given source, length and multiplier
method kc(maType, length, multiplier, useTrueRange, sticky, c)
returns Keltner Channel for custom moving average
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
useTrueRange (simple bool) : - if set to false, uses high-low.
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
c (Candle) : Candle object containing ohlc
Returns: Keltner Channel for custom moving average for given souce, length and multiplier
method kcw(maType, length, multiplier, useTrueRange, sticky, c)
returns Keltner Channel Width with custom moving average
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
useTrueRange (simple bool) : - if set to false, uses high-low.
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
c (Candle) : Candle object containing ohlc
Returns: Keltner Channel Width for custom moving average
method kpercentk(maType, length, multiplier, useTrueRange, sticky, c)
returns Keltner Channel Percent K Width with custom moving average
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
useTrueRange (simple bool) : - if set to false, uses high-low.
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
c (Candle) : Candle object containing ohlc
Returns: Keltner Percent K for given moving average, source, length and multiplier
method dc(c, length, sticky)
returns Custom Donchian Channel
Namespace types: Candle
Parameters:
c (Candle) : Candle object containing ohlc
length (simple int) : - donchian channel length
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
Returns: Donchian channel
method dcw(c, length, sticky)
returns Donchian Channel Width
Namespace types: Candle
Parameters:
c (Candle) : Candle object containing ohlc
length (simple int) : - donchian channel length
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
Returns: Donchian channel width
method dpercentd(c, length, sticky)
returns Donchian Channel Percent of price
Namespace types: Candle
Parameters:
c (Candle) : Candle object containing ohlc
length (simple int) : - donchian channel length
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
Returns: Donchian channel Percent D
method supertrend(maType, length, multiplier, useTrueRange, waitForClose, delayed, c)
supertrend Simple supertrend based on atr but also takes into consideration of custom MA Type, sources
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom Series
length (simple int) : ATR Length
multiplier (simple float) : ATR Multiplier
useTrueRange (simple bool) : - if set to false, uses high-low.
waitForClose (simple bool) : : Considers source for direction change crossover if checked. Else, uses highSource and lowSource.
delayed (simple bool) : : if set to true lags supertrend atr stop based on target levels.
c (Candle) : Candle object containing ohlc
Returns: dir : Supertrend direction
supertrend : BuyStop if direction is 1 else SellStop
method oscillatorRange(seriesType, source, highlowLength, rangeLength, sticky)
oscillatorRange - returns Custom overbought/oversold areas for an oscillator input
Namespace types: simple CustomSeries
Parameters:
seriesType (simple CustomSeries) : - Custom series type
source (float) : - Osillator source such as RSI, COG etc.
highlowLength (simple int) : - length on which highlow of the oscillator is calculated
rangeLength (simple int) : - length used for calculating oversold/overbought range - usually same as oscillator length
sticky (simple bool) : - overbought, oversold levels won't change unless crossed
Returns: Dynamic overbought and oversold range for oscillator input
method oscillator(oscillatorType, length, shortLength, longLength, c)
oscillator - returns Choice of oscillator with custom overbought/oversold range
Namespace types: simple OscillatorType
Parameters:
oscillatorType (simple OscillatorType) : OscillatorType object
length (simple int) : - Oscillator length - not used for TSI
shortLength (simple int) : - shortLength only used for TSI
longLength (simple int) : - longLength only used for TSI
c (Candle) : Candle object containing ohlc
Returns: Oscillator value
method oscillatorWithRange(oscillatorType, length, shortLength, longLength, seriesType, highlowLength, sticky, c)
oscillatorWithRange - returns Choice of oscillator with custom overbought/oversold range
Namespace types: simple OscillatorType
Parameters:
oscillatorType (simple OscillatorType) : OscillatorType object
length (simple int) : - Oscillator length - not used for TSI
shortLength (simple int) : - shortLength only used for TSI
longLength (simple int) : - longLength only used for TSI
seriesType (simple CustomSeries) : - CustomSeries enum type
highlowLength (simple int) : - length on which highlow of the oscillator is calculated
sticky (simple bool) : - overbought, oversold levels won't change unless crossed
c (Candle) : Candle object containing ohlc
Returns: Oscillator value along with dynamic overbought and oversold range for oscillator input
Candle
Custom candle object
Fields:
o (series float) : open
h (series float) : high
l (series float) : low
c (series float) : close
barindex (series int) : bar_index
bartime (series int) : time
bartimeclose (series int) : time_close
v (series float) : volume
Dual SuperTrend w VIX Filter - Strategy [presentTrading]Hey everyone! Haven't been here for a long time. Been so busy again in the past 2 months. I recently started working on analyzing the combination of trend strategy and VIX, but didn't get outstanding results after a few tries. Sharing this tool with all of you in case you have better insights.
█ Introduction and How it is Different
The Dual SuperTrend with VIX Filter Strategy combines traditional trend following with market volatility analysis. Unlike conventional SuperTrend strategies that focus solely on price action, this experimental system incorporates VIX (Volatility Index) as an adaptive filter to create a more context-aware trading approach. By analyzing where current volatility stands relative to historical norms, the strategy adjusts to different market environments rather than applying uniform logic across all conditions.
BTCUSD 6hr Long Short Performance
█ Strategy, How it Works: Detailed Explanation
🔶 Dual SuperTrend Core
The strategy uses two SuperTrend indicators with different sensitivity settings:
- SuperTrend 1: Length = 13, Multiplier = 3.5
- SuperTrend 2: Length = 8, Multiplier = 5.0
The SuperTrend calculation follows this process:
1. ATR = Average of max(High-Low, |High-PreviousClose|, |Low-PreviousClose|) over 'length' periods
2. UpperBand = (High+Low)/2 - (Multiplier * ATR)
3. LowerBand = (High+Low)/2 + (Multiplier * ATR)
Trend direction is determined by:
- If Close > previous LowerBand, Trend = Bullish (1)
- If Close < previous UpperBand, Trend = Bearish (-1)
- Otherwise, Trend = previous Trend
🔶 VIX Analysis Framework
The core innovation lies in the VIX analysis system:
1. Statistical Analysis:
- VIX Mean = SMA(VIX, 252)
- VIX Standard Deviation = StdDev(VIX, 252)
- VIX Z-Score = (Current VIX - VIX Mean) / VIX StdDev
2. **Volatility Bands:
- Upper Band 1 = VIX Mean + (2 * VIX StdDev)
- Upper Band 2 = VIX Mean + (3 * VIX StdDev)
- Lower Band 1 = VIX Mean - (2 * VIX StdDev)
- Lower Band 2 = VIX Mean - (3 * VIX StdDev)
3. Volatility Regimes:
- "Very Low Volatility": VIX < Lower Band 1
- "Low Volatility": Lower Band 1 ≤ VIX < Mean
- "Normal Volatility": Mean ≤ VIX < Upper Band 1
- "High Volatility": Upper Band 1 ≤ VIX < Upper Band 2
- "Extreme Volatility": VIX ≥ Upper Band 2
4. VIX Trend Detection:
- VIX EMA = EMA(VIX, 10)
- VIX Rising = VIX > VIX EMA
- VIX Falling = VIX < VIX EMA
Local performance:
🔶 Entry Logic Integration
The strategy combines trend signals with volatility filtering:
Long Entry Condition:
- Both SuperTrend 1 AND SuperTrend 2 must be bullish (trend = 1)
- AND selected VIX filter condition must be satisfied
Short Entry Condition:
- Both SuperTrend 1 AND SuperTrend 2 must be bearish (trend = -1)
- AND selected VIX filter condition must be satisfied
Available VIX filter rules include:
- "Below Mean + SD": VIX < Lower Band 1
- "Below Mean": VIX < VIX Mean
- "Above Mean": VIX > VIX Mean
- "Above Mean + SD": VIX > Upper Band 1
- "Falling VIX": VIX < VIX EMA
- "Rising VIX": VIX > VIX EMA
- "Any": No VIX filtering
█ Trade Direction
The strategy allows testing in three modes:
1. **Long Only:** Test volatility effects on uptrends only
2. **Short Only:** Examine volatility's impact on downtrends only
3. **Both (Default):** Compare how volatility affects both trend directions
This enables comparative analysis of how volatility regimes impact bullish versus bearish markets differently.
█ Usage
Use this strategy as an experimental framework:
1. Form a hypothesis about how volatility affects trend reliability
2. Configure VIX filters to test your specific hypothesis
3. Analyze performance across different volatility regimes
4. Compare results between uptrends and downtrends
5. Refine your volatility filtering approach based on results
6. Share your findings with the trading community
This framework allows you to investigate questions like:
- Are uptrends more reliable during rising or falling volatility?
- Do downtrends perform better when volatility is above or below its historical average?
- Should different volatility filters be applied to long vs. short positions?
█ Default Settings
The default settings serve as a starting point for exploration:
SuperTrend Parameters:
- SuperTrend 1 (Length=13, Multiplier=3.5): More responsive to trend changes
- SuperTrend 2 (Length=8, Multiplier=5.0): More selective filter requiring stronger trends
VIX Analysis Settings:
- Lookback Period = 252: Establishes a full market cycle for volatility context
- Standard Deviation Bands = 2 and 3 SD: Creates statistically significant regime boundaries
- VIX Trend Period = 10: Balances responsiveness with noise reduction
Default VIX Filter Selection:
- Long Entry: "Above Mean" - Tests if uptrends perform better during above-average volatility
- Short Entry: "Rising VIX" - Tests if downtrends accelerate when volatility is increasing
Feel Free to share your insight below!!!
Multiple Timeframe LevelsThe multiple timeframe levels indicator plots the following lines on your chart:
Previous day's high, low, and midpoint
Previous week's high, low, and midpoint
Previous month's high, low, and midpoint
Overnight session high, low, and midpoint
This indicator makes it easy to plot the high timeframe levels on your chart so that you can focus on your preferred timeframe for trading. This can be used however you see fit. These levels are great for finding support and resistance, setting your stop losses and take profits, looking for reversals, etc.
You can customize this script my enabling/disabling the timeframe's high/low or midpoint as well as the color.
[SHORT ONLY] Internal Bar Strength (IBS) Mean Reversion Strategy█ STRATEGY DESCRIPTION
The "Internal Bar Strength (IBS) Strategy" is a mean-reversion strategy designed to identify trading opportunities based on the closing price's position within the daily price range. It enters a short position when the IBS indicates overbought conditions and exits when the IBS reaches oversold levels. This strategy is Short-Only and was designed to be used on the Daily timeframe for Stocks and ETFs.
█ WHAT IS INTERNAL BAR STRENGTH (IBS)?
Internal Bar Strength (IBS) measures where the closing price falls within the high-low range of a bar. It is calculated as:
IBS = (Close - Low) / (High - Low)
- Low IBS (≤ 0.2) : Indicates the close is near the bar's low, suggesting oversold conditions.
- High IBS (≥ 0.8) : Indicates the close is near the bar's high, suggesting overbought conditions.
█ SIGNAL GENERATION
1. SHORT ENTRY
A Short Signal is triggered when:
The IBS value rises to or above the Upper Threshold (default: 0.9).
The Closing price is greater than the previous bars High (close>high ).
The signal occurs within the specified time window (between `Start Time` and `End Time`).
2. EXIT CONDITION
An exit Signal is generated when the IBS value drops to or below the Lower Threshold (default: 0.3). This prompts the strategy to exit the position.
█ ADDITIONAL SETTINGS
Upper Threshold: The IBS level at which the strategy enters trades. Default is 0.9.
Lower Threshold: The IBS level at which the strategy exits short positions. Default is 0.3.
Start Time and End Time: The time window during which the strategy is allowed to execute trades.
█ PERFORMANCE OVERVIEW
This strategy is designed for Stocks and ETFs markets and performs best when prices frequently revert to the mean.
The strategy can be optimized further using additional conditions such as using volume or volatility filters.
It is sensitive to extreme IBS values, which help identify potential reversals.
Backtesting results should be analyzed to optimize the Upper/Lower Thresholds for specific instruments and market conditions.